package com.rykj.util;

/**
 * 缓存工具类 Created by Z on 2017/6/28.
 */

public class CacheHelper {

    private static final String TAG = "CacheHelper";

    private static CacheHelper instance;

    DbHelper dbHelper;


    public void setFirstInStatus(boolean f) {
        PrefUtility.put(C.PrefName.PREF_IS_FIRSTIN_APP, f);
    }

    public boolean isFirstInApp() {
        return PrefUtility.getBoolean(C.PrefName.PREF_IS_FIRSTIN_APP, true);
    }

    public void setAgreePrivacy(boolean f) {
        PrefUtility.put(C.PrefName.PREF_IS_AGREE_PRIVACY, f);
    }

    public boolean isAgreePrivacy() {
        return PrefUtility.getBoolean(C.PrefName.PREF_IS_AGREE_PRIVACY, false);
    }


//    ApiService apiService;

    public static CacheHelper getInstance() {
        if (null == instance) {
            synchronized (CacheHelper.class) {
                if (null == instance) {
                    instance = new CacheHelper();
                }
            }
        }
        return instance;
    }

    private CacheHelper() {
        dbHelper = DbHelper.getInstance();
//        apiService = ApiManger.getApiService();
    }

    public void requestData() {
//        // 获取 parentCode
//        getParentCodeList();
    }

    //<editor-fold desc="其他信息">
//    public void saveUserInfo(User user) {
//        PrefUtility.put(C.PrefName.PREF_LOGIN_USER_INFO, GsonUtil.parseObject(user));
//    }
//
//    public User getLastLoginUser() {
//        return GsonUtil.parseJson(PrefUtility.get(C.PrefName.PREF_LOGIN_USER_INFO, ""), User.class);
//    }
//
//    public void setLoginStatus(boolean isLogin) {
//        PrefUtility.put(C.PrefName.PREF_IS_LOGIN, isLogin);
//        if (!isLogin) {
//            PrefUtility.del(C.PrefName.PREF_LOGIN_USER_INFO);
//        }
//    }
//
//    public boolean isLogin() {
//        return PrefUtility.getBoolean(C.PrefName.PREF_IS_LOGIN, false);
//    }
//
//    public boolean isFirstInApp() {
//        return PrefUtility.getBoolean(C.PrefName.PREF_IS_FIRSTIN_APP, true);
//    }
//
//    public void setFirstInApp(boolean isInApp) {
//        PrefUtility.put(C.PrefName.PREF_IS_FIRSTIN_APP, isInApp);
//    }
    //</editor-fold>

    //<editor-fold desc="获取用户信息">

//    private String lastLoginName;

    // public String getLastLoginName() {
    //     return PrefUtility.get(C.PrefName.PREF_LOGIN_NUM, "");
    //
    // }
    //
    // public void setLastLoginName(String lastLoginName) {
    //     PrefUtility.put(C.PrefName.PREF_LOGIN_NUM, lastLoginName);
    // }

    //    /**
//     * 获取用户详细信息
//     */
//    public void getUserInfo() {
//        String currentUserNum = App.getInstance().getCurrentUserNum();
//        if (TextUtils.isEmpty(currentUserNum)) {
//            return;
//        }
//        apiService.getUserInfo(currentUserNum)
//                .compose(RxUtil.normalSchedulers())
//                .subscribe(new ApiSuccessAction<ResultBase<User>>() {
//                    @Override
//                    public void onSuccess(ResultBase<User> code) {
//                        App.getInstance().setUser(code.result);
//                        EventBus.getDefault().post(C.EventKey.REFRESH_USER_INFO);
//                    }
//
//                    @Override
//                    public void onFail(int errorCode, String errorMsg) {
//                        CommonUtil.showToast(errorMsg);
//                        EventBus.getDefault().post(C.EventKey.REFRESH_END);
//                    }
//                }, new ApiFailAction() {
//                    @Override
//                    public void onFail(String msg) {
//                        CommonUtil.showToast(msg);
//                        EventBus.getDefault().post(C.EventKey.REFRESH_END);
//                    }
//                });
//    }

//    /**
//     * 获取用户账户信息
//     */
//    public void getUserAccountInfo() {
//        String currentUserNum = App.getInstance().getCurrentUserNum();
//        if (TextUtils.isEmpty(currentUserNum)) {
//            return;
//        }
//        apiService.getUserCenter(currentUserNum)
//                .compose(RxUtil.normalSchedulers())
//                .subscribe(new ApiSuccessAction<ResultBase<User>>() {
//                    @Override
//                    public void onSuccess(ResultBase<User> code) {
//                        App.getInstance().setUser(code.result);
//                        EventBus.getDefault().post(C.EventKey.REFRESH_USER_INFO);
//                    }
//
//                    @Override
//                    public void onFail(int errorCode, String errorMsg) {
//                        CommonUtil.showToast(errorMsg);
//                        EventBus.getDefault().post(C.EventKey.REFRESH_END);
//                    }
//                }, new ApiFailAction() {
//                    @Override
//                    public void onFail(String msg) {
//                        CommonUtil.showToast(msg);
//                        EventBus.getDefault().post(C.EventKey.REFRESH_END);
//                    }
//                });
//    }
    //</editor-fold>

    //<editor-fold desc=" 手机时间和服务器的  时间差值 ">
    private long difftime = 0;

    public long getDifftime() {
        return difftime;
    }

    /**
     *
     */
    public void setDifftime(long serverTime) {
        difftime = serverTime - System.currentTimeMillis();
    }
    //</editor-fold>

    public void setToken(String token) {
        PrefUtility.put(C.PrefName.APP_LOGIN_TOKEN, token);
    }

    public String getToken() {
        return PrefUtility.get(C.PrefName.APP_LOGIN_TOKEN, "");
    }


}
